﻿using System;
using Validate.Library;

namespace Project.Model
{
    /// <summary>
    /// 项目工程操作请求实体
    /// </summary>
    public class ProjectOperateRequest
    {
        /// <summary>
        /// 唯一标识符
        /// </summary>
        public int ID
        {
            get; set;
        }

        /// <summary>
        /// 项目名称
        /// </summary>
        [Validate(ValidateType.NotEmpty | ValidateType.MaxLength, MaxLength = 50, Description = "项目名称")]
        public string ProjectName
        {
            get; set;
        }

        /// <summary>
        /// 项目编号
        /// </summary>
        public string ProjectNo
        {
            get; set;
        }

        /// <summary>
        /// 开工日期
        /// </summary>
        [Validate(ValidateType.NotEmpty, Regex = ValidateRegex.DateTime, Description = "开工日期")]
        public DateTime? StartDate
        {
            get; set;
        }

        /// <summary>
        /// 结束日期 
        /// </summary>
        [Validate(ValidateType.NotEmpty, Regex = ValidateRegex.DateTime, Description = "结束日期")]
        public DateTime? EndDate
        {
            get; set;
        }

        /// <summary>
        /// 工程类型ID
        /// </summary>
        [Validate(ValidateType.NotEmpty | ValidateType.MaxLength, MaxLength = 50, Description = "工程类型")]
        public int? ProjectTypeID
        {
            get; set;
        }

        ///// <summary>
        ///// 工程类型
        ///// </summary>
        //public string ProjectType
        //{
        //    get; set;
        //}

        /// <summary>
        /// 承包性质
        /// </summary>
        [Validate(ValidateType.NotEmpty | ValidateType.MaxLength, MaxLength = 50, Description = "承包性质")]
        public string Contract
        {
            get; set;
        }

        /// <summary>
        /// 责任人
        /// </summary>
        [Validate(ValidateType.NotEmpty | ValidateType.MaxLength, MaxLength = 50, Description = "责任人")]
        public string Charge
        {
            get; set;
        }

        /// <summary>
        /// 联系电话
        /// </summary>
        [Validate(ValidateType.NotEmpty, Regex = ValidateRegex.TelphoneOrMobile, Description = "联系电话")]
        public string Phone
        {
            get; set;
        }
        /// <summary>
        /// 件数面积
        /// </summary>
        [Validate(ValidateType.NotEmpty, Regex = ValidateRegex.Decimal, Description = "件数面积")]
        public decimal? ProjectArea
        {
            get; set;
        }

        /// <summary>
        /// 合同金额
        /// </summary>
        [Validate(ValidateType.NotEmpty, Regex = ValidateRegex.Decimal, Description = "合同金额")]
        public decimal? ContractMoney
        {
            get; set;
        }

        /// <summary>
        /// 结算金额
        /// </summary>
        [Validate(ValidateType.NotEmpty, Regex = ValidateRegex.Decimal, Description = "结算金额")]
        public decimal? AuditMoney
        {
            get; set;
        }

        /// <summary>
        /// 设计单位
        /// </summary>
        public string SJDW
        {
            get; set;
        }

        /// <summary>
        /// 结算单位
        /// </summary>
        public string JSDW
        {
            get; set;
        }

        /// <summary>
        /// 施工单位
        /// </summary>
        public string SGDW
        {
            get; set;
        }

        /// <summary>
        /// 监理单位
        /// </summary>
        public string JLDW
        {
            get; set;
        }

        /// <summary>
        /// 备注
        /// </summary>
        public string Descrption
        {
            get; set;
        }
    }
}
